Linux/Centos mysql 更改MySQL数据库目录位置

引言:MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下该如何操作呢?

1、home目录下建立data目录

1
2
cd /home
mkdir data

2、把MySQL服务进程停掉

1
mysqladmin -u root -p shutdown

3、把/var/lib/mysql整个目录移到/home/data

1
mv /var/lib/mysql /home/data/

或者

1
cp -R /var/lib/mysql /home/data/

这样就把MySQL的数据文件移动到了/home/data/mysql下

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。

命令如下:

1
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

5、编辑MySQL的配置文件/etc/my.cnf

为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。

(用vi工具编辑my.cnf文件,找到下列数据修改之)

1
vi  my.cnf

1
2
3
4
5
# The MySQL server
    [mysqld]
    port   = 3306
    #socket  = /var/lib/mysql/mysql.sock #(原内容,为了更稳妥用“#”注释此行)
    socket  = /home/data/mysql/mysql.sock   #(加上此行)

6、修改MySQL启动脚本/etc/init.d/mysql有些版本在my.cnf文件

最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

1
# vi /etc/init.d/mysql
1
2
#datadir=/var/lib/mysql    #(注释此行)
datadir=/home/data/mysql #(加上此行)

7、重新启动MySQL服务

1
service mysqld restart

或者

1
/etc/init.d/mysqld start

如果工作正常移动就成功了,否则对照前面的7步再检查一下。

注意目录的属主和权限。

1
chown -R mysql:mysql /home/data/mysql
Javen wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!